#include "check_box.h"

Check_Box::Check_Box(QWidget *parent)
    : QMainWindow(parent)
{
    //设置窗口
    this->setGeometry(200,200,400,300);

    //实例化CheckBox复选框
    ch = new QCheckBox(this);

    //设置复选框大小及位置
    ch->setGeometry(0,0,150,20);

    //设置复选框状态。初始化
    ch->setCheckState(Qt::Checked);

    //设置复选框内容
    ch->setText("this is a CheckBox");

    //开启复选框状态，否则只有两种状态
    ch->setTristate();

    // 将复选框与槽函数相连接
    connect(ch,&QCheckBox::stateChanged,this,&Check_Box::IsState);
}

Check_Box::~Check_Box() {}

void Check_Box::IsState(){
    //获取复选框的状态
    Qt::CheckState isstate = ch->checkState();

    switch(isstate){
    case Qt::Checked:
        ch->setText("checed");//复选框选中状态；
        break;

    case Qt::PartiallyChecked://复选框半选中状态
        ch->setText("PartiallyChecked");
        break;

    case Qt::Unchecked://复选框没有选中
        ch->setText("unChecked");
        break;

    default:
        break;
    }
}
